"""
数据库模型 基类
"""

from bson import ObjectId
from pydantic import (
    BaseModel,
    Field,
)


class DBModelBase(BaseModel):
    """ 数据库模型 基类 """

    _id: ObjectId = Field(
        ...,
        title="ObjectId 主键（自动创建）",
        description="MongoDB 自带的 ObjectId 主键字段",
    )

    create_time: str = Field(
        ...,
        title="创建时间（自动创建）",
        description="格式：YYYY-MM-DD HH:mm:ss",
        min_length=19,
        max_length=19,
    )

    update_time: str = Field(
        ...,
        title="更新时间（自动创建）",
        description="格式：YYYY-MM-DD HH:mm:ss",
        min_length=19,
        max_length=19,
    )

    is_deleted: int = Field(
        0,
        title="数据删除标记（自动创建）",
        description="0.未删除 / 1.已删除",
    )
